// Have include guard.
#ifndef FPK_TANKDRIVEFILTER_HPP
#define FPK_TANKDRIVEFILTER_HPP

#include "../Filter.hpp"
#include "../../Values/TwoJoystickValue.hpp"
#include "../../Values/TankValue.hpp"

/**
 *  The TankDriveFilter class is a filter that converts from a TwoJoystickValue to a TankValue using tank drive.
 */
class TankDriveFilter :
	public Filter<TwoJoystickValue, TankValue>
{
	public:
		/**
		 *  Apply the filter to an input.
		 */
		virtual TankValue Apply(const TwoJoystickValue &input) const;
};

#endif // #ifndef FPK_TANKDRIVEFILTER_HPP
